namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Basic Label field.</summary>
	/// <definedin>src\widgets\form\Label.js</definedin>
	[ScriptName("Label")]
	[ScriptNamespace("Ext.form")]
	[Imported()]
	public partial class Label : ext.BoxComponent
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">
		/// The configuration options. If an element is passed, it is set as the internal
		/// element and its id used as the component id. If a string is passed, it is assumed to be the id of an existing element
		/// and is used as the component id. Otherwise, it is assumed to be a standard config object and is applied to the component.
		/// </param>
		public Label(ext.Element config)
		{
		}
		
		/// <summary>Constructor</summary>
		/// <param name="config">
		/// The configuration options. If an element is passed, it is set as the internal
		/// element and its id used as the component id. If a string is passed, it is assumed to be the id of an existing element
		/// and is used as the component id. Otherwise, it is assumed to be a standard config object and is applied to the component.
		/// </param>
		public Label(string config)
		{
		}
		
		/// <summary>Constructor</summary>
		/// <param name="config">
		/// The configuration options. If an element is passed, it is set as the internal
		/// element and its id used as the component id. If a string is passed, it is assumed to be the id of an existing element
		/// and is used as the component id. Otherwise, it is assumed to be a standard config object and is applied to the component.
		/// </param>
		public Label(ext.form.Label_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public Label()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// The plain text to display within the label (defaults to &apos;&apos;). If you need to include HTML
		/// tags within the label&apos;s innerHTML, use the {@link #html} config instead.
		/// </summary>
		/// <definedin>src\widgets\form\Label.js</definedin>
		[ScriptName("text")]
		public string Text;
		
		/// <summary>
		/// The id of the input element to which this label will be bound via the standard HTML &apos;for&apos;
		/// attribute. If not specified, the attribute will not be added to the label.
		/// </summary>
		/// <definedin>src\widgets\form\Label.js</definedin>
		[ScriptName("forId")]
		public string ForId;
		
		/// <summary>
		/// An HTML fragment that will be used as the label&apos;s innerHTML (defaults to &apos;&apos;).
		/// Note that if {@link #text} is specified it will take precedence and this value will be ignored.
		/// </summary>
		/// <definedin>src\widgets\form\Label.js</definedin>
		[ScriptName("html")]
		public string Html;
		#endregion
		
		#region Methods
		/// <summary>Updates the label&apos;s innerHTML with the specified string.</summary>
		/// <definedin>src\widgets\form\Label.js</definedin>
		/// <param name="text">The new label text</param>
		/// <param name="encode">
		/// False to skip HTML-encoding the text when rendering it
		/// to the label (defaults to true which encodes the value). This might be useful if you want to include
		/// tags in the label&apos;s innerHTML rather than rendering them as string literals per the default logic.
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setText")]
		public ext.form.Label SetText(string text, bool encode)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Updates the label&apos;s innerHTML with the specified string.</summary>
		/// <definedin>src\widgets\form\Label.js</definedin>
		/// <param name="text">The new label text</param>
		/// <returns>this</returns>
		[ScriptName("setText")]
		public ext.form.Label SetText(string text)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
